package org.skywork.bll.process;

// *************************************************************************/
// Charada Soft
// Area de Desarrollo de Sistemas de Información
// *************************************************************************/
// Proyecto : SkyWork Data Access Layer
// Archivo : Format.java
// Descripcion : Clase Format
// *************************************************************************/
// Version : 2.11.8
// Fecha de Creación: 31 de Diciembre de 2014
// Author : Daniel Andres Castillo Pedroza
// *************************************************************************/

import org.skywork.entitys.basic.Empresa;
import org.skywork.entitys.basic.Persona;
import org.tools.string.RemoveSpace;

public class Format {
    
    // Metodos de la clase Format
    
    /**
      * Este método nos permite establecer el formato del Sistema al texto. Donde
      * el texto a establecerle formato de determina con un objeto <code>String</code>.
      * 
      * @param texto Texto a establecer formato
      * @return Retorna el texto con formato en un objeto <code>String</code>.
    */
    
    public static String setTextFormat(String texto) {
      texto = RemoveSpace.removeTotal(texto); // Removemos espacios
      
      if (!texto.isEmpty()) {
        texto = texto.toUpperCase();
      } // Convertiendo texto en mayusculas
      
      return texto; // Retornando texto con formato
    }
    
    /**
     * Este metodo nos permite establecer el formato estandar a todos los campos 
     * de un objeto Persona en el Sistema. Donde la persona se establece con un objeto 
     * <code>Persona</code>:
     * 
     * @param persona Persona para darle formato a sus campos
     */
    public static void setFormatPersona(Persona persona) {
        persona.setExpedicion(setTextFormat(persona.getExpedicion()));
        persona.setNombres(setTextFormat(persona.getNombres()));
        persona.setPrimerApellido(setTextFormat(persona.getPrimerApellido()));
        persona.setSegundoApellido(setTextFormat(persona.getSegundoApellido()));
        persona.setDireccion(setTextFormat(persona.getDireccion()));
        persona.setBarrio(setTextFormat(persona.getBarrio()));
        persona.setCelular(setTextFormat(persona.getCelular()));
        persona.setCorreo(RemoveSpace.removeTotal(persona.getCorreo()));
    }
    
    /**
     * Este metodo nos permite establecer el formato estandar a todos los campos 
     * de un objeto Empresa en el Sistema. Donde la persona se establece con un objeto 
     * <code>Empresa</code>:
     * 
     * @param empresa Empresa para darle formato a sus campos
     */
    public static void setFormatEmpresa(Empresa empresa) {
        empresa.setNombre(setTextFormat(empresa.getNombreEntidad()));
        empresa.setDireccion(setTextFormat(empresa.getDireccion()));
        empresa.setBarrio(setTextFormat(empresa.getBarrio()));
        empresa.setCiudad(setTextFormat(empresa.getCiudad()));
        empresa.setTelefono(setTextFormat(empresa.getTelefono()));
        empresa.setCelular(setTextFormat(empresa.getCelular()));
        empresa.setCorreo(RemoveSpace.removeTotal(empresa.getCorreo()));
    }
}